﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace OnATous
{
    public partial class ContactList : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {         
   /*NOTE
    * Pour sélectionner un gars, passe par le a href que j'ai posé sur les listes. Je sais, c'est pas W3C et dégueu, mais tant pis pour le moment.
    * Je reviendrai dessus plus tard.
    * */

            BusinessManagement.Rating ratingBM = new BusinessManagement.Rating();
            BusinessManagement.Facebook fbBM = new BusinessManagement.Facebook();
            List<DBO.User> list = fbBM.GetFriendList();
            foreach (DBO.User contact in list)
                contact.Credits = ratingBM.GetNotationCount(contact);
            ContactListRepeater.DataSource = list;
            ContactListRepeater.DataBind();
        }

        protected void ShowNotedContacts(object sender, EventArgs e)
        {
            // Tu dégages la liste, et tu fous que les contacts que le user a déjà noté.
            BusinessManagement.Facebook fbBM = new BusinessManagement.Facebook();
            BusinessManagement.Rating ratingBM = new BusinessManagement.Rating();
            List<DBO.User> list = ratingBM.GetRatedContacts(fbBM.GetUser());
            ContactListRepeater.DataSource = list;
            ContactListRepeater.DataBind();
        }

        protected void ShowNotNotedContacts(object sender, EventArgs e)
        {
            // Tu dégages la liste, et tu fous que les contacts que le user n'a pas noté.
            BusinessManagement.Facebook fbBM = new BusinessManagement.Facebook();
            BusinessManagement.Rating ratingBM = new BusinessManagement.Rating();
            List<DBO.User> list = ratingBM.GetNonRatedContacts(fbBM.GetUser());
            ContactListRepeater.DataSource = list;
            ContactListRepeater.DataBind();
        }

        protected void NoteContact(object sender, EventArgs e)
        {
            /*si tu regardes dans le code de la page, tu trouves le asp:ImageButton. Pour faire passer l'argument, je le mets dans CommandArgument, et
             * Je le récupère ici ci-dessous. Par contre, niveau design, je ne sais absolument pas ce que ça va donner, j'ai peur que ce soit vraiment dégueulasse.
             * Si jamais c'est le cas, créée une classe dans le CSS pour virer les borders, ombres et autres conneries que ce con d'ASP.NET pourrait ajouter, et
             * tu utilises l'attribut CssClass dans l'ImageButton pour lui attribuer (CssClass="lenomquetuaurasmis").
             * */
            Session["contact"] = ((ImageButton)sender).CommandArgument.ToString();
            // Ici tu fais la redirection, ça doit marcher.
        }
    }

    public class TestContact
    {
        private string name;
        private string imageUrl;
        private string numberOfVotes;

        public TestContact(string name, string imageUrl, string number)
        {
            this.name = name;
            this.imageUrl = imageUrl;
            this.numberOfVotes = number;
        }

        public string Name
        {
            get
            {
                return name;
            }
        }
        public string ImageUrl
        {
            get
            {
                return imageUrl;
            }
        }
        public string NumberOfVotes
        {
            get
            {
                return numberOfVotes;
            }
        }

    }
}